Таблици и графики, проверка на тъждества
Функции: Table, TableForm, ListPlot, Show, Part, Random, PrimeQ и други

Пример 1.  Създаването на масиви (таблици) става с функцията Table. Ето таблица на 20 стойности на функцията ^x/5при x=1, 2, ... ,20. Стандартно резултатът се показва и запомня като списък. За да получим вертикално представяне се използва функцията TableForm. Тук   //N  означава числен вид на отговорите, а % - резултат от предишната операция.

data = Table[^x/5, {x, 20}] data//N TableForm[%]

{^(1/5), ^(2/5), ^(3/5), ^(4/5), , ^(6/5),  ... 14/5), ^3, ^(16/5), ^(17/5), ^(18/5), ^(19/5), ^4}

RowBox[{{, RowBox[{1.2214, ,, 1.49182, ,, 1.82212, ,, 2.22554, ,, 2.71828, ,, 3.32012, ,, 4.05 ... 13.4637, ,, 16.4446, ,, 20.0855, ,, 24.5325, ,, 29.9641, ,, 36.5982, ,, 44.7012, ,, 54.5982}], }}]

1.2214
1.49182
1.82212
2.22554
2.71828
3.32012
4.0552
4.95303
6.04965
7.38906
9.02501
11.0232
13.4637
16.4446
20.0855
24.5325
29.9641
36.5982
44.7012
54.5982

Пример 2. Начертаването на точкови данни става с функцията ListPlot. Можем да съединим точките, т.е. да получим линеен сплайн, с включване на опцията  PlotJoined->True.

ListPlot[data] g2 = ListPlot[data, PlotJoinedTrue]

[Graphics:HTMLFiles/index_6.gif]

⁃Graphics⁃

[Graphics:HTMLFiles/index_8.gif]

⁃Graphics⁃

Пример 3. Ето създаване и на друга едномерна таблица с друг диапазон на променливата. Едновременното показване на графики става с функцията Show. Забележете, че номерацията на елементите, независимо от променливата i започва винаги от 1.

d2 = Table[(1 + i^3)/(1 + i^2), {i, 5, 20}] g3 = ListPlot[d2, PlotJoinedTrue] Show[g2, g3]

{63/13, 217/37, 172/25, 513/65, 365/41, 1001/101, 666/61, 1729/145, 1099/85, 2745/197, 1688/113, 4097/257, 2457/145, 5833/325, 3430/181, 8001/401}

[Graphics:HTMLFiles/index_12.gif]

⁃Graphics⁃

[Graphics:HTMLFiles/index_14.gif]

⁃Graphics⁃

Пример 4. Таблици могат да се създават и с нарастването на променливата с произволна равномерна стъпка. Например за функцията Cos[2x]  променливата x  се мени от -π  до π  през  π/10.  Така получаваме 21 стойности. Извличането на определен елемент става по номера му с [[ ]]  или  Part. В долния пример сме избрали третия елемент от таблицата, запомнена в променкливата s1.

step = π/10 s1 = Table[ Cos[2x], {x, -π, π, step}]//N s1[[3]] Part[s1, 3]

π/10

RowBox[{{, RowBox[{1., ,, 0.809017, ,, 0.309017, ,, RowBox[{-, 0.309017}], ,, RowBox[{-, 0.809 ... , 1.}], ,, RowBox[{-, 0.809017}], ,, RowBox[{-, 0.309017}], ,, 0.309017, ,, 0.809017, ,, 1.}], }}]

0.309017

0.309017

Пример 5. Ето и графиката на таблицата s1.

ListPlot[s1]
ListPlot[s1,PlotJoined->True]

[Graphics:HTMLFiles/index_22.gif]

⁃Graphics⁃

[Graphics:HTMLFiles/index_24.gif]

⁃Graphics⁃

Пример 6. За проверка истинността на равенства често се използва генерирането на случайни числа в определен интервал. Това става с функцията Random без аргумент или с аргумент цяло число. Тя генерира случайно число в интервала [0, 1]. Получаването на цели случайни числа в даден интервал се постига със задаване на аргумент Integer и интервал или с функцията Round . В примера имаме интервал за случайни числа [0,10]. Изпълнете клетката многократно.

Random[]
Random[]
Random[]
Random[Integer,{1,1    0}]
Round[10*Random[]]

0.788172

0.654077

0.22338

1

7

Пример 7. Генериране на таблица от 6 случайни числа с повторение в интервала [1, 49]. В последния ред се дава сортиран списъкът t3.

n=6;
dolu=1;
gore=49;
t1= Table[Random[Integer,{dolu,gore}], {n}]
t2= Table[Random[Integer,{dolu,gore}], {n}]
t3= Table[Random[Integer,{dolu,gore}], {n}]
Sort[%]

{19, 4, 31, 17, 44, 5}

{7, 1, 32, 9, 49, 22}

{3, 41, 31, 39, 19, 13}

{3, 13, 19, 31, 39, 41}

Пример 8. Генериране на редица от 8 цели,  реални  и комплексни случайни числа в различни интервали.

Table[Random[Integer , 20],{8}]
Table[Random[Real,{10 ,11}],{8}]
Table[Random[Complex,{1+i,10+10i}],{8}]

{10, 2, 12, 15, 7, 15, 12, 15}

RowBox[{{, RowBox[{10.9123, ,, 10.7255, ,, 10.6186, ,, 10.2927, ,, 10.7759, ,, 10.018, ,, 10.5592, ,, 10.6148}], }}]

RowBox[{{, RowBox[{RowBox[{RowBox[{1.87442, }], +, RowBox[{3.60355,  , }]}], , ... , }]}], ,, RowBox[{RowBox[{4.97183, }], +, RowBox[{7.85801,  , }]}]}], }}]

Пример 9. Проверката на равенства и тъждества може да стане с временно заместване на аргументи - случайни числа. Ако равенството е вярно получаваме отговор True (истина) , ако не е вярно - False (лъжа). В примера имаме проверките: 1 равно ли е на 2, 3 равно ли е на 3 и т.н.

1 == 2
3 == 3
Sin[Cos[x]] == Cos[ Sin[x]] /. x->Random[]
Sin[Cos[x]] == Cos[ Sin[x]] /. x->Random[]

False

True

False

False

Пример 10. Тук имаме две тъждества с две променливи. Лесно се проиграва с многократно изпълнение на клетката, че първото е истина винаги, а второто - не.

a^2 - b^2 (a + b) (a - b)/.{aRandom[], b Random[]} a^2 + b^2 (a + b) (a - b)/.{aRandom[], b Random[]}

True

False

Пример 11. Сега ще съставим таблица от първите 100 прости числа. Функцията Prime[n] отпечатва n-тото поредно просто число. Дадена е и графика на 100-те първи прости числа.

Prime[5]
Prime[1000]
p=Table[Prime[n],{n,100}]
ListPlot[p,PlotJoined->True]

11

7919

{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 9 ... 19, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541}

[Graphics:HTMLFiles/index_48.gif]

⁃Graphics⁃

Пример 12. Проверката дали едно число е просто е труден проблем от теорията на числата. Mathematica много добре се справя с него. Достатъчно е да използваме функцията PrimeQ с аргумент числото.

PrimeQ[13]
PrimeQ[15]
PrimeQ[1337]
PrimeQ[16300109754300123107]
opit=Random[Integer,{100,1000}]
PrimeQ[opit]

True

False

False

True

947

True


Created by Mathematica  (December 29, 2007)